package org.dromara.system.service;

import com.mybatisflex.core.paginate.Page;
import org.dromara.system.pojo.bo.SysOperateLogBO;
import org.dromara.system.pojo.qo.SysOperateLogQO;
import org.dromara.system.pojo.vo.SysOperateLogVO;

import java.util.List;

/**
 * 操作日志记录 服务层。
 *
 * @author mkj
 * @since 2024-07-21
 */
public interface SysOperateLogService {


    /**
     * 新增
     *
     * @param sysOperateLogBO 表单
     * @return {@code true} 添加成功，{@code false} 添加失败
     */
    boolean add(SysOperateLogBO sysOperateLogBO);

    /**
     * 根据主键删除
     *
     * @param id 主键
     * @return {@code true} 删除成功，{@code false} 删除失败
     */
    boolean remove(Long id);

    /**
     * 根据主键更新
     *
     * @param sysOperateLogBO 表单
     * @return {@code true} 更新成功，{@code false} 更新失败
     */
    boolean update(SysOperateLogBO sysOperateLogBO);

    /**
     * 条件查询所有数据
     *
     * @return 条件查询所有数据
     */
    List<SysOperateLogVO> list(SysOperateLogQO sysOperateLogQO);

    /**
     * 根据主键获取详细信息。
     *
     * @param id 主键
     * @return 详情
     */
    SysOperateLogVO getInfo(Long id);

    /**
     * 分页查询
     *
     * @param page 分页对象
     * @return 分页对象
     */
    Page<SysOperateLogVO> page(SysOperateLogQO page);

}

